-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate reflection free Jackson deserializers for classes without an empty constructor #45042
Conversation
… empty constructor
Status for workflow
|
@@ -112,7 +112,7 @@ public Dog echoDog(Dog dog) { | |||
@POST | |||
@Path("/record-echo") | |||
@Consumes(MediaType.APPLICATION_JSON) | |||
public StateRecord echoDog(StateRecord stateRecord) { | |||
public StateRecord echoRecord(StateRecord stateRecord) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you perhaps missing something from the commit?
Asking because I don't see how this exercises the scenario this change is supposed to address
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method renaming is unrelated, it is just to fix the formerly wrong name that came from an excess of copy/paste :)
This endpoint and the test invoking it are actually exercising this improvement in the sense that returned StateRecord
wasn't deserialized through the generated reflection-free deserializer before, since the record structurally doesn't have an no-args constructor. Now it generates the deserializers also for records. The final effect is of course the same (of course in a reflection-free way this time), the only issue is that I don't know how to check that the deserializers is actually generated and it is using it, since the net behaviour is the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, thanks.
I don't have any suggestions for better testing at the moment
Currently if a class doesn't have an empty constructor the generation of its reflection-free Jackson deserializer is skipped. This pull request is intended to overcome this limitation.
/cc @geoand